/**
 * @param {number[][]} A
 * @return {number}
 * 
 * 有一个二维矩阵 A 其中每个元素的值为 0 或 1 。

  移动是指选择任一行或列，并转换该行或列中的每一个值：将所有 0 都更改为 1，将所有 1 都更改为 0。

在做出任意次数的移动后，将该矩阵的每一行都按照二进制数来解释，矩阵的得分就是这些数字的总和。

返回尽可能高的分数。

来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/score-after-flipping-matrix
著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
  *
 */

const  A = [[0,0,1,1],[1,0,1,0],[1,1,0,0]]




function calcSum (B) {
  let sum = 0
  for(let i =B.length -1 ; i>= 0; i --){
    sum += B[i] * 2 ** i
  }
  return sum 
}



function matrixScore (A) {
  let sum = 0
  for(let i = 0; i< A.length; i++) {
    sum += calcSum(A[i])
  }
  console.log(sum);
};


matrixScore(A)